Data Route Selection Method and Apparatus

ABSTRACT

A data route selection method and apparatus, where the data route selection method includes: detecting, by a terminal, that information about an application matches a traffic descriptor; determining, by the terminal, a first route selection component for the application; and routing, by the terminal, traffic of the application on a first protocol data unit (PDU) session, where the first PDU session matches the first route selection component.

CROSS-REFERENCE TO RELATED APPLICATIONS

his application is a continuation of U.S. patent application Ser. No. 16/991,205, filed on Aug. 12, 2020, which is a continuation of International Application No. PCT/CN2019/074913, filed on Feb. 13, 2019, which claims priority to Chinese Patent Application No. 201810150966.1, filed on Feb. 13, 2018. All of the aforementioned patent applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

This application relates to the field of communications technologies, and in particular, to a data route selection method and apparatus.

BACKGROUND

With the development of communications technologies, especially popularity of terminals, to match users' requirements for diverse functions, various application programs have emerged. Currently, for data transmission of an application program, a terminal may establish a protocol data unit (PDU) session to exchange data with a network side, in order to implement various functions of the application program. Considering that resources for data exchange between the network side and the terminal are limited in this data exchange process, to match a data transmission requirement of each application program, the network side may call an idle resource according to an order in which application programs request to perform data transmission, to implement data transmission processes of the application programs. In this way, for an application program that initiates a data transmission request relatively later, data transmission of the application program can be implemented only after an idle resource is allocated to the network side. In other words, for the application program that initiates a data transmission request relatively later, a data transmission delay is prolonged.

SUMMARY

Embodiments of this application provide a data route selection method and apparatus, in order to resolve a problem of an excessively long transmission delay for an application program that initiates a data transmission request relatively later.

To achieve the foregoing objective, the following technical solutions are used in the embodiments of this application.

According to a first aspect, an embodiment of this application provides a data route selection method. The method includes: After detecting that information about an application matches a traffic descriptor, a terminal may determine a first route selection component (RSC) for the application, in order to route traffic of the application on a first PDU session. The first PDU session matches the first route selection component. In this way, the traffic of the application can be transmitted on a reserved resource, to avoid that because a network side does not reserve a corresponding resource for each application, traffic of an application can be transmitted by calling an idle resource only after the idle resource exists.

In an example, the information of the application includes an Internet Protocol (IP) 3-tuple of the application or an identifier (ID) of the application. In this way, the terminal can determine, based on the IP 3-tuple of the application or the identifier of the application carried in the information of the application, whether the information of the application matches a traffic descriptor in a user equipment (UE) route selection policy (URSP) rule corresponding to the application.

In an example, the first route selection component is a route selection component with a highest priority in route selection components that match a first condition. The first condition includes: Single network slice selection assistance information (S-NSSAI) in the first route selection component information belongs to allowed network slice selection assistance information allowed NSSAI; and/or when a data network name (DNN) in the first route selection component is a DNN of a local access data network (LADN), the terminal is in a service area of the LADN. It can be learned that the terminal determines that a route selection component in the following cases is an invalid route selection component or an unavailable route selection component, to be more specific, the route selection component that is set by the terminal as a route selection component not used in this selection process. Case 1: The route selection component includes at least one piece of S-NSSAI, and all S-NSSAI does not belong to the allowed NSSAI. The allowed NSSAI is an S-NSSAI that may be used by the terminal to request a data service, and is provided by a network entity (for example, an access and mobility management function (AMF)) for the terminal. Case 2: The route selection component includes a DNN, the DNN is a DNN of the LADN, and the terminal is not within the service area of the LADN. A valid route selection component or an available route selection component can be obtained from the URSP rule through filtering based on case 1 and case 2. Then, the terminal selects, as the first route selection component, a route selection component with a highest priority from the valid route selection components or the available route selection components obtained through filtering.

In an example, when there is no first PDU session that matches the first route selection component, the terminal establishes the first PDU session based on the first route selection component. It can be learned that there is no session that matches the first route selection component in an established PDU session. Therefore, to enable the terminal to route the traffic of the application on the first PDU session that matches the first route selection component, the terminal may establish a corresponding PDU session for the application, to be more specific, the terminal may establish the first PDU session based on the first route selection component.

In an example, after the terminal establishes the PDU session based on the first route selection component, the terminal may receive a first message. The first message is used to indicate that establishing the first PDU session by the terminal is accepted. Therefore, that the terminal routes the traffic of the application on the first PDU session that matches the first route selection component may be implemented as: When a PDU session parameter carried in the first message matches the first route selection component, the terminal routes the traffic of the application on the first PDU session that matches the first route selection component.

In an example, the terminal establishes a second PDU session based on a second route selection component, and when establishing the second PDU session by the terminal is rejected, the terminal determines the first route selection component. Considering that a request of the terminal for establishing the second PDU session may be rejected by a network side, when the second PDU session cannot be successfully established using the second route selection component, after determining the first route selection component, the terminal may use the first route selection component to route the traffic of the application on the first PDU session that matches the first route selection component. Likewise, when an established PDU session does not match the first route selection component, the terminal may establish the first PDU session based on the first route selection component. That means in this embodiment of this application, a process of selecting a route selection component is performed cyclically, until the terminal determines a PDU session on which the traffic of the application can be routed.

In an example, the terminal establishes a third PDU session based on a third route selection component, and then the terminal may receive a second message. The second message is used to indicate that establishing the third PDU session by the terminal is accepted. When a PDU session parameter carried in the second message does not match the third route selection component, the terminal determines the first route selection component. Considering that the third route selection component carried in a request that is for establishing the third PDU session and that is sent by the terminal to the network side is a requirement of the terminal for establishing a PDU session, but in a process of establishing the PDU session, the network side may not necessarily complete configuration fully in accordance with the requirement sent by the terminal, a PDU session parameter of the PDU session established by the network side may not match the third route selection component. After the terminal successfully establishes the third PDU session using the third route selection component, when the third PDU session does not match the third route selection component, the terminal may determine the first route selection component.

In an example, that a PDU session parameter carried in the second message does not match the third route selection component may be implemented as: Continuity selection in the third route selection component is a continuity mode 1 (session and service continuity (SSC) mode 1), and a continuity mode in the PDU session parameter carried in the second message is a continuity mode other than the continuity mode 1, such as a continuity mode 2 (SSC mode 2) or a continuity mode 3 (SSC mode 3). In this embodiment of this application, selecting the SSC mode 1 means that during movement of the terminal, IP continuity in the SSC mode 1 is better than IP continuity in the SSC mode 2 and the SSC mode 3. In other words, compared with the SSC mode 2 and the SSC mode 3, a probability of IP interruption in the SSC mode 1 is lowest.

In an example, when a PDU session parameter carried in the first message does not match the first route selection component, the terminal may release an established PDU session, in order to prevent an unused PDU session from occupying excessive resources, and ensure full utilization of resources.

In an example, the first route selection component includes at least one parameter. That the first PDU session matches the first route selection component may be implemented as: When each parameter in the first route selection component corresponds to one value, a parameter of the PDU session is the same as the first route selection component; or when at least one parameter in the first route selection component corresponds to at least two values, a parameter of the PDU session belongs to the first route selection component.

In an example, when a second condition is satisfied, the terminal determines the first route selection component for the application corresponding to the information of the application. The second condition includes at least one of the following.

The application is enabled, which means: The terminal starts running the application corresponding to the information of the application. For the application that starts running, the terminal may determine a matching PDU session for the application, and then route the traffic of the application on the PDU session.

APDU session on which the traffic of the application is routed is released, which means: An existing PDU session of the terminal is released. After the existing PDU session is released, the application corresponding to the traffic routed on the session needs to reselect a PDU session for data transmission. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing.

The terminal enters or leaves the service area of the LADN. APDU session can be used only in some specific places (for example, in an LADN), and therefore when the terminal leaves the service area of the LADN, this part of PDU session cannot continue being used. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing. Likewise, when the terminal enters the service area of the LADN, the terminal uses a PDU session corresponding to a DNN of the LADN in a current location. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing.

The terminal enters or leaves a non-3rd Generation Partnership Project (non-3GPP) coverage area, which includes: The terminal enters a non-3GPP converge area from a 3GPP converge area, and the terminal enters a 3GPP converge area from a non-3GPP converge area. The non-3GPP converge area means that the terminal is connected to a 5G core network through Wi-Fi.

A network standard of the terminal includes but is not limited to a 3G communications network, a 4G communications network, a 5G communications network, and the like. The network standard of the terminal changes, which means: A core network that serves the terminal changes from an evolved packet core (EPC) network to a 5th generation core (5GC) network. For example, the terminal moves between a cell of the 4G communications network and a cell of the 5G communications network, and a mobility management entity (MME) of the terminal changes from an MME to an AMF. To be more specific, the terminal changes from obtaining a data service from the EPC to obtaining a data service from the 5GC.

In addition, in an implementation, the second condition may further include that a registration area of the terminal changes. That a registration area of the terminal changes means: The terminal enters a new registration area from the original registration area. The registration area is a service area allocated to the terminal by a 5G core network element, to be more specific, by an access and mobility management function (AMF) entity. After leaving the registration area, the terminal needs to re-initiate a registration process to the network side.

According to a second aspect, an embodiment of this application provides a PDU session routing method. The method includes: detecting, by a terminal, information that is about an application and that matches a traffic descriptor; determining, by the terminal, a first route selection component for the application corresponding to the information of the application; and routing, by the terminal, traffic of the application on a protocol data unit (PDU) session that matches the first route selection component.

In an example, the information of the application includes an Internet Protocol (IP) 3-tuple of the application or an ID of the application.

In an example, the first route selection component is a route selection component with a highest priority in route selection components that match a preset condition, where the preset condition includes: Single network slice selection assistance information (S-NSSAI) in the route selection component information belongs to allowed network slice selection assistance information (NSSAI); and/or when a data network name (DNN) in the route selection component information is a DNN of a local access data network (LADN), the terminal is located in a service area of the LADN.

In an example, the method further includes: when there is no PDU session that matches the first route selection component, establishing, by the terminal, the PDU session based on the first route selection component.

In an example, the method further includes: when establishing the PDU session by the terminal is rejected, determining, by the terminal, a second route selection component, where the second route selection component is a route selection component with a highest priority in the route selection components that match the preset condition other than the first route selection component.

In an example, after the establishing, by the terminal, the PDU session based on the first route selection component, the method further includes: receiving, by the terminal, a first message, where the first message is used to indicate that establishing the PDU session by the terminal is accepted. Additionally, the routing, by the terminal, traffic of the application on a PDU session that matches the first route selection component includes: when a PDU session parameter carried in the first message matches the first route selection component, routing, by the terminal, the traffic of the application on the PDU session that matches the first route selection component.

In an example, when a PDU session parameter carried in the first message does not match the first route selection component, the method further includes: determining, by the terminal, a second route selection component, where the second route selection component is a route selection component with a highest priority in the route selection components that match the preset condition other than the first route selection component.

In an example, when a PDU session parameter carried in the first message does not match the first route selection component, the method further includes releasing, by the terminal, an established PDU session.

In an example, timing of determining the first route selection component by the terminal includes at least one of the following: the terminal enables the application; a registration area of the terminal changes; the terminal enters or leaves a non-3GPP coverage area; or a network standard of the terminal changes.

In an example, the PDU session that matches the first route selection component includes: When each parameter in the first route selection component corresponds to one value, a parameter of the PDU session is the same as the first route selection component; or when at least one parameter in the first route selection component corresponds to at least two values, a parameter of the PDU session belongs to the first route selection component.

According to a third aspect, an embodiment of this application provides a data route selection apparatus. The apparatus can implement functions implemented in the foregoing method embodiments. The functions may be implemented by hardware or may be implemented by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the foregoing functions.

According to a fourth aspect, an embodiment of this application provides a terminal. A structure of the terminal includes a display screen, a memory, one or more processors, a plurality of application programs, and one or more programs. The one or more programs are stored in the memory. When the one or more processors execute the one or more programs, the terminal is enabled to implement the method according to any one of the first aspect and the various examples of the first aspect.

According to a fifth aspect, an embodiment of this application provides a readable storage medium, including an instruction. When the instruction runs on a terminal, the terminal is enabled to perform the method according to any one of the first aspect and the various examples of the first aspect.

According to a sixth aspect, an embodiment of this application provides a computer program product. The computer program product includes software code, and the software code is used to perform the method according to any one of the first aspect and the various examples of the first aspect.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic structural diagram of a first type of terminal according to an embodiment of this application;

FIG. 2 is a flowchart of a data route selection method according to an embodiment of this application;

FIG. 3 is a schematic structural diagram of a data route selection apparatus according to an embodiment of this application; and

FIG. 4 is a schematic structural diagram of a second type of terminal according to an embodiment of this application.

DESCRIPTION OF EMBODIMENTS

The following further describes in detail this application with reference to the accompanying drawings. A specific operation method in a method embodiment may also be applied to an apparatus embodiment or a system embodiment. It should be noted that, in this application, the word “exemplary” or “for example” is used to represent giving an example, an illustration, or a description. Any embodiment or design scheme described as “exemplary” or “for example” in this application should not be explained as being more preferred or having more advantages than another embodiment or design scheme. Exactly, use of the word “exemplary”, “example”, or the like is intended to present a related concept in a specific manner.

A system architecture and a service scenario described in this application are intended to describe the technical solutions of this application more clearly, and do not constitute any limitation to the technical solutions provided in this application. A person of ordinary skill in the art may know that, with evolution of a system architecture and emergence of a new service scenario, the technical solutions provided in this application are also applicable to similar technical problems. For example, this application may be applied to a 2nd Generation (2G) communications network, a 3rd Generation (3G) communications network, a 4th Generation (4G) communications network, a 5th Generation (5G) communications network, and a subsequent evolved network.

An embodiment of this application may be used for a terminal. The terminal may include a laptop computer, a smartphone, a virtual reality (VR) device, an augmented reality (AR) device, an in-vehicle device, a smart wearable device, or other devices. The terminal may be provided with at least a display screen, an input device, and a processor. Using a terminal 100 as an example, as shown in FIG. 1, the terminal 100 includes components such as a processor 101, a memory 102, a camera 103, an RF circuit 104, an audio circuit 105, a loudspeaker 106, a microphone 107, an input device 108, another input device 109, a display screen 110, a touch panel 111, a display panel 112, an output device 113, and a power supply 114. The display screen 110 includes at least the touch panel 111 used as an input device and the display panel 112 used as an output device. It should be noted that the terminal structure shown in FIG. 1 does not constitute a limitation to the terminal, and the terminal may include more or fewer components than those shown in the figure, or some components may be combined, or some components may be split, or a different component configuration may be used. This is not limited herein.

The following describes the components of the terminal 100 in detail with reference to FIG. 1.

The radio frequency (RF) circuit 104 may be configured to send and receive signals during an information sending and receiving process or a call process. For example, if the terminal 100 is a mobile phone, after receiving, using the RF circuit 104, downlink information sent by a base station, the terminal 100 may transmit, using the RF circuit 104, the downlink information to the processor 101 for processing, and send related uplink data to the base station using the RF circuit 104. Generally, the RF circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, and the like. In addition, the RF circuit 104 may also communicate with a network and another device through wireless communication. Any communication standard or protocol may be used for the wireless communication, including but not limited to Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), code-division multiple access (CDMA), wideband CDMA (WCDMA), Long-Term Evolution (LTE), an email, a short message service (SMS), and the like.

The memory 102 may be configured to store a software program and a module. The processor 101 runs the software program and the module that are stored in the memory 102, in order to execute various function applications and data processing of the terminal 100. The memory 102 may mainly include a program storage area and a data storage area. The program storage area may store an operating system, an application program required by at least one function (for example, a sound playback function and an image display function), and the like. The data storage area may store data (for example, audio data and video data) created based on use of the terminal 100, and the like. In addition, the memory 102 may include a high-speed random access memory, and may further include a non-volatile memory such as at least one magnetic disk storage device, a flash memory device, or another volatile solid-state storage device.

The other input device 109 may be configured to receive input digit or character information, and generate a key signal input related to user setting and function control of the terminal 100. For example, the other input device 109 may include but is not limited to one or more of a physical keyboard, a function key (such as a volume control key or an on/off key), a trackball, a mouse, a joystick, and an optical mouse (the optical mouse is a touch-sensitive surface that does not display a visual output, or an extension of a touch-sensitive surface formed by a touchscreen). Another input device 109 may further include a sensor built in the terminal 100, such as a gravity sensor or an acceleration sensor. The terminal 100 may further use a parameter detected by the sensor as input data.

The display screen 110 may be configured to display information entered by a user or information provided to a user and various menus of the terminal 100, and may also receive a user input. In addition, the display panel 112 may be configured in a form of a liquid-crystal display (LCD), an organic light-emitting diode (OLED), or the like. The touch panel 111, also referred to as a touchscreen, a touch-sensitive screen, or the like, may collect a touch operation or a non-touch operation performed by the user on or near the touch panel 111 (for example, an operation performed by the user on the touch panel 111 or near the touch panel 111 using a finger, a stylus, or any other suitable object or accessory, or a somatosensory operation, where the operation includes operation types such as a single-point control operation and a multi-point control operation), and drive a corresponding connection apparatus according to a preset program. It should be noted that the touch panel 111 may further include two parts: a touch detection apparatus and a touch controller. The touch detection apparatus detects a touch position and a posture of the user, detects a signal generated by a touch operation, and transmits the signal to the touch controller. The touch controller receives touch information from the touch detection apparatus, converts the touch information into information that can be processed by the processor 101, and sends the information to the processor 101, and can receive a command sent by the processor 101 and execute the command. In addition, the touch panel 111 may be implemented in a plurality of types such as a resistive type, a capacitive type, an infrared type, and a surface acoustic wave type, or the touch panel 111 may be implemented using any technology developed in the future. Generally, the touch panel 111 may cover the display panel 112. The user may perform, according to content displayed on the display panel 112 (the displayed content includes but is not limited to a soft keyboard, a virtual mouse, a virtual key, an icon, and the like), an operation on or near the touch panel 111 that covers the display panel 112. After detecting an operation performed on or near the touch panel 111, the touch panel 111 sends information about the operation to the processor 101 to determine a user input, and then the processor 101 provides a corresponding visual output on the display panel 112 based on the user input. In FIG. 1, the touch panel 111 and the display panel 112 are used as two independent components to implement input and output functions of the terminal 100. However, in some embodiments, the touch panel 111 and the display panel 112 may be integrated to implement the input and output functions of the terminal 100.

The RF circuit 104, the loudspeaker 106, and the microphone 107 may provide an audio interface between the user and the terminal 100. The audio circuit 105 may transmit, to the loudspeaker 106, a signal that is obtained by converting received audio data. The loudspeaker 106 converts the signal into a sound signal and outputs the sound signal. In addition, the microphone 107 may convert a collected sound signal into a signal. The audio circuit 105 receives the signal, converts the signal into audio data, and outputs the audio data to the RF circuit 104, to send the audio data to, for example, another terminal, or outputs the audio data to the memory 102, such that the processor 101 performs further processing based on content stored in the memory 102. In addition, the camera 103 may collect an image frame in real time and transmits the image frame to the processor 101 for processing, and store a result of processing into the memory 102 and/or present a result of processing to the user through the display panel 112.

The processor 101 is a control center of the terminal 100, and is connected to various parts of the entire terminal 100 using various interfaces and lines, and performs various functions of the terminal 100 and processes data by running or executing the software program and/or the module stored in the memory 102 and invoking data stored in the memory 102, in order to perform overall monitoring on the terminal 100. It should be noted that the processor 101 may include one or more processing units. An application processor and a modem processor may further be integrated into the processor 101. The application processor mainly processes an operating system, a user interface (UI), an application program, and the like. The modem processor mainly processes wireless communication. It can be understood that the modem processor may alternatively not be integrated into the processor 101.

The terminal 100 may further include the power supply 114 (for example, a battery) that supplies power to each component. In this embodiment of this application, the power supply 114 may be logically connected to the processor 101 using a power supply management system, such that functions such as charging, discharging, and power consumption management are implemented using the power supply management system.

In addition, FIG. 1 further includes a component not shown. For example, the terminal 100 may further include a Bluetooth module and the like, and details are not described herein.

In an embodiment of this application, a terminal may route traffic of an application on an existing protocol data unit (PDU) session or on a newly established PDU session according to different rules defined in a UE route selection policy (URSP) rule.

It can be learned that for an application, when the application matches a traffic descriptor of a URSP rule of the terminal, the terminal may route traffic of the application on a corresponding PDU session based on route selection components recorded in a route selection descriptor in the URSP rule.

The foregoing means there is one or multiple PDU session(s) have been established by terminal. When the parameters of one of the PDU Sessions in the terminal matches a selected route selection component, the terminal may associate the application with the PDU session. When none of the PDU sessions, which have been established in the terminal, matches a selected route selection component, the terminal establishes a new PDU session based on the selected route selection component. When the terminal establishes the new PDU Session, the terminal sets values of parameters in the PDU Session request based on the selected route selection component, for example, single network slice selection assistance information (S-NSSAI), a session and service continuity (SSC) mode, which is referred to as a continuity mode for short below, a data network name (DNN), and a PDU type, in order to request a network side to establish the PDU session, in order to support data service.

The following describes a data route selection process using examples. The data route selection process includes but is not limited to a process in which a terminal selects a PDU session for the traffic of an application and routes the traffic of the application on the corresponding PDU session.

FIG. 2 is a flowchart of a data route selection method according to an embodiment of this application. A procedure of the method includes S201 to S203.

S201. A terminal detects that information about an application matches a traffic descriptor.

The traffic descriptor information can be stored in a URSP rule by the terminal locally. In this embodiment of this application, the terminal may locally store a URSP rule corresponding to each application in advance. That means one application maybe corresponds to one URSP rule shown in Table 1. Table 1 lists an example data structure of a URSP rule provided in an embodiment of this application.

TABLE 1 Packet control function (PCF) permitted to modify a Information name Category terminal context Scope URSP rule Mandatory Yes Terminal precedence (Mandatory) context Traffic descriptor Route selection Mandatory descriptor

The URSP rule precedence in Table 1 is used to determine the priority in which this URSP rule is executed in the terminal.

Table 2 lists an example data structure of a traffic descriptor provided in an embodiment of this application.

TABLE 2 PCF permitted to modify Information name Category a terminal context Scope Application Optional identifier (Optional) Internet Protocol Optional Yes Terminal context (IP) descriptor Non-IP descriptor Optional Yes Terminal context

For an application, after the terminal activates the application, the application broadcasts/sends the application identifier (APP ID) listed in Table 2 to the terminal. When the application is running, data, which is sent by the application to a network side through the terminal, may carry the IP descriptor or the non-IP descriptor listed in Table 2. Descriptions about the IP descriptor are similar to those about the non-IP descriptor. The IP descriptor is used as an example for description.

In this embodiment of this application, the IP descriptor can be an IP 3-tuple. The IP 3-tuple includes a destination IP address or a destination IP version 6 (IPv6) network prefix, a destination port number, and an identifier of a protocol above IP, such as the Transmission Control Protocol (TCP)/User Datagram Protocol (UDP), of a data packet that the application attempts to transmit to the network side.

It should be noted that in S201, the terminal detects that the information of the application matches the traffic descriptor. “Detect” means that an identifier of the application is the same as an application identifier in the traffic descriptor, or an IP address in traffic of the application is the same as an IP address in the traffic descriptor. Therefore, in this embodiment of this application, the information of the application may include an IP 3-tuple of the application or the identifier of the application. In this way, the terminal can determine, based on the IP 3-tuple of the application or the identifier of the application carried in the information of the application, whether the information of the application matches a traffic descriptor in a locally stored URSP rule corresponding to the application. Then, when the information of the application matches the traffic descriptor, the terminal can perform S202.

In Table 1, one URSP rule may include one or more route selection descriptors. In other words, one URSP rule includes at least one route selection descriptor. Using a route selection descriptor as an example, Table 3 lists an example data structure of a route selection descriptor provided in an embodiment of this application.

TABLE 3 PCF permitted to modify Information name Category a terminal context Scope Route selection Mandatory components Continuity selection Optional Yes Terminal context Network slice selection Optional Yes Terminal context Data network name Optional Yes Terminal selection context Non-seamless offload Optional Yes Terminal indication context Access type preference Optional Yes Terminal context PDU type Optional Yes Terminal context

The route selection components in Table 3 include information such as continuity selection (SSC mode selection), network slice selection, DNN selection, a non-seamless offload indication, an access type preference, and a PDU type.

In this embodiment of this application, the continuity selection includes an SSC mode value or a list of SSC mode values. The SSC mode is a continuity mode. For example, an SSC mode 1, an SSC mode 2, and an SSC mode 3 are defined in a 5G communication system. In the SSC mode 1, it can be ensured that the IP address of a PDU session does not change within 5G network coverage. In the SSC mode 2, it can be ensured that within 5G network coverage, a new IP address is obtained for a PDU session after the PDU session is disconnected. In the SSC mode 3, it can be ensured that within 5G network coverage, a new IP address has been obtained for a PDU session before the PDU session is disconnected. In this embodiment of this application, selecting the SSC mode 1 means that during movement of the terminal, IP continuity in the SSC mode 1 is better than IP continuity in the SSC mode 2 and the SSC mode 3. In other words, compared with the SSC mode 2 and the SSC mode 3, the probability of IP interruption in the SSC mode 1 is lowest. The network slice selection includes an S-NSSAI value or a list of S-NSSAI values. The data network name selection includes a DNN value or a list of DNN values. The non-seamless offload indication is used to indicate that data needs to obtain data communication using a non-3GPP access technology (for example, connecting to a public data network through public Wi-Fi). The access type preference includes one or two access type values. The access type includes 3GPP access and non-3GPP access. In the 5G communications network, 3GPP access refers to that the terminal performs access using a Long Term Evolution (LTE) air interface technology or a 5G air interface technology (Next Generation Radio Access Network (NG-RAN)); and non-3GPP access refers to that the terminal performs access using, for example, connecting to a 5G core network (non-3GPP access network (AN) connecting to a 5G core network) through Wi-Fi. The PDU type information includes one or more PDU types. The PDU type includes the IP, the IP version 4 (IPv4), the IPv6, an Ethernet type, an undefined type, an unstructured type, or the like.

S202. The terminal determines a first route selection component for the application, the information of which is considered matched.

In an implementation, when a second condition is satisfied, the terminal determines the first route selection component for the application, the information of which is considered matched. The second condition includes at least one of the following.

The application is enabled, which means: The terminal starts running the application, the information of the application is considered matched. After the application starts running, the terminal determines a corresponding PDU session for the application, and then routes the traffic of the application on the PDU session.

APDU session on which the traffic of the application is routed is released, which means: An existing PDU session of the terminal is released. After the existing PDU session is released, the application that is currently using the session needs to reselect a PDU session for data transmission. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing.

The terminal enters or leaves a service area of an LADN. A PDU session can be used only in some specific places (for example, in an LADN), and therefore when the terminal leaves the service area of the LADN, PDU session(s) related to this LADN cannot continue being used. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing. Likewise, when the terminal enters the service area of the LADN, the terminal uses a PDU session corresponding to a DNN of the LADN in a current location. Therefore, the terminal can re-determine, for the traffic of the application, a PDU session that can be used for routing.

The terminal enters or leaves a non-3GPP coverage area, which includes: The terminal enters a non-3GPP converge area from a 3GPP converge area, and the terminal enters a 3GPP converge area from a non-3GPP converge area. The non-3GPP converge area means that the terminal is connected to a 5G core network through Wi-Fi.

A network standard of the terminal includes but is not limited to a 3G communication system, a 4G communication system, a 5G communication system, and the like. The network standard of the terminal changes, which means: A core network that serves the terminal changes from an evolved packet core (EPC) network to a 5th generation (5G) core (5GC) network. For example, the terminal moves between a cell of the 4G communications network and a cell of the 5G communications network, and a mobility management entity (MME) of the terminal changes from an MME to an AMF. To be more specific, the terminal changes from obtaining a data service from the EPC to obtaining a data service from the 5GC.

In addition, in an implementation, the second condition can further include that a registration area of the terminal changes. That a registration area of the terminal changes means: The terminal enters a new registration area from the original registration area. The registration area is a service area allocated to the terminal by an entity from 5G core network, to be more specific, an access and mobility management function (AMF) entity. After leaving the registration area, the terminal needs to re-initiate a registration process to the network side.

The first route selection component matches a first condition. The first condition includes at least one of the following.

S-NSSAI in the first route selection component information belongs to allowed NSSAI; and/or when a DNN in the route selection component information is a DNN of an LADN, the terminal is in a service area of the LADN.

In an implementation, the first route selection component is a route selection component with a highest priority in route selection components that match the first condition.

In this embodiment of this application, after determining the application corresponding to the information of the application, the terminal can locally determine the URSP rule corresponding to the application. Then, the terminal determines, in the URSP rule, a route selection component that matches the first condition, and determines the route selection component as the first route selection component. In this way, the terminal implements S202.

Considering that to determine the first route selection component, limitations of a condition and a priority between a list of route selection components need to be considered. Thus, this embodiment of this application provides the following implementations for determining the first route selection component.

In an implementation, the terminal can determine the first route selection component from a list of route selection components, by first-filtering then-selecting manner. After the terminal determines that there is information of the application matching the URSP rule, the terminal performs filtering on all route selection components in the URSP rule. The terminal determines that a route selection component in the following cases is an invalid route selection component or an unavailable/not usable route selection component, to be more specific, the route selection component that is set by the terminal as a route selection component not used in this selection process. Case 1: The route selection component includes at least one S-NSSAI, and all S-NSSAI in this route selection component does not belong to the allowed NSSAI. The allowed NSSAI is S-NSSAI that may be used by the terminal to request a data service, and is provided by a network entity (for example, an AMF) for the terminal. Case 2: The route selection component includes a DNN, the DNN is a DNN of the LADN, and the terminal is not in the service area of the LADN. A valid route selection component or an available route selection component can be obtained from the URSP rule through filtering based on case 1 and case 2. Then, the terminal selects, as the first route selection component, a route selection component with a highest priority from the valid route selection components or the available route selection components obtained through filtering.

In another implementation, the terminal determines the first route selection component from a list of route selection components in a first-selecting then-filtering manner. After the terminal determines that there is information from the application matching the URSP rule, the terminal determines a route selection component with a highest priority in the URSP rule, and then performs filtering on the selected route selection component with the highest priority. A manner of performing filtering on the route selection component is similar to the filtering manner used in the foregoing implementation. To be more specific, the terminal determines a route selection component that matches the foregoing case 1 and case 2 as an invalid route selection component or an unavailable/not usable route selection component. Reference may be made to the foregoing descriptions, and details are not described herein again. When the route selection component with the highest priority is determined by the terminal as a valid route selection component or an available/usable route selection component after filtering, the terminal determines the route selection component with the highest priority as the first route selection component. When the route selection component with the highest priority is determined by the terminal as an invalid route selection component or an not usable route selection component after filtering, the terminal can re-determine a route selection component with a highest priority from remaining list of route selection components in the URSP rule, to be more specific, a route selection component with a highest priority in the current URSP rule except the previously determined route selection component with the highest priority, or in other words, a route selection component with a second highest priority in the current URSP rule. Then, the terminal performs filtering on the re-determined route selection component; and so on, until the terminal finds a route selection component that does not match the foregoing case 1 and case 2 in the URSP rule and determines the route selection component as the first route selection component.

It should be noted that both the foregoing first-filtering then-selecting implementation for the route selection component and the foregoing first-selecting then-filtering implementation for the route selection component by the terminal are implementations. This does not constitute a limitation to this embodiment of this application. That means the terminal can alternatively determine the first route selection component in another manner.

S203. The terminal routes traffic of the application on a first PDU session.

The first PDU session matches the first route selection component.

It should be noted that the first route selection component includes at least one parameter, and each parameter in the first route selection component contains either one single value or a list of values.

In an implementation, that the first PDU session matches the first route selection component may be implemented as follows.

When each parameter in the first route selection component contains only one value, the value of a parameter of the PDU session is identical to the value of a corresponding parameter in the first route selection component; or when at least one parameter in the first route selection component contains at least two values, a value of the parameter of the PDU session is included in the value of corresponding parameters of the first route selection component.

It should be noted that, that each parameter contains only one value means: Each parameter in the first route selection component has only one value. For example, continuity selection contains only SSC mode 1. Likewise, that at least one parameter contains at least two values means: At least one parameter in the first route selection component has two or more values. For example, network slice selection contains S-NSSAI 1 and S-NSSAI 2.

For a parameter that contains only one value, the parameter has the same value as a same type of parameter in the parameter of the PDU session. For a parameter that contains at least two values, the parameter of the PDU session is included in the first route selection component. Take one parameter named network slice selection as example. When the parameter named network slice selection contains two values, the value of the parameter named network slice of the PDU session is the same as either of the foregoing two values. To be more specific, a parameter which is named network slice in the parameter of the PDU session is included in the parameter named network slice selection in the first route selection component.

It can be learned that after detecting the information of the application that matches the traffic descriptor, the terminal determines the first route selection component for the application, in order to/then route the traffic of the application on a PDU session that matches the first route selection component. In this way, the traffic of the application is transmitted in a customized network resource, to avoid a problem in other approaches that because a network side does not reserve a corresponding resource for a specific application, traffic of the specific application has to wait until resource is available then is transmitted.

In an implementation, there is no session that matches the first route selection component in established PDU session(s). In order to enable the terminal to route the traffic of the application on the first PDU session that matches the first route selection component, the terminal establishes the corresponding PDU session for the application. To be more specific, the terminal establishes the first PDU session based on the first route selection component.

For example, when sending, to the network side, a request to establish the PDU session, the terminal adds to the request the value of the first route selection component. In this way, when receiving the request sent by the terminal, the network side selects a corresponding network resource based on the first route selection component, to establish a connection between the terminal and the network side. Then, the network side sends the parameters of a corresponding PDU session to the terminal.

Considering that the request of the terminal to establish the PDU session may be rejected by the network side, to ensure that the terminal can select a suitable PDU session to route traffic of a specific application, when establishing a second PDU session by the terminal based on a second route selection component is rejected, the terminal determines the first route selection component. The first route selection component is a route selection component with a highest priority in route selection components that match the first condition.

It should be noted that for an implementation of determining the second route selection component, refer to the foregoing implementations of determining the first route selection component. To be more specific, the terminal determines the second route selection component either in the first-filtering then-selecting manner or the first-selecting then-filtering manner.

It can be learned that when the second PDU session cannot be successfully established using the second route selection component, after determining the first route selection component, based on the first route selection component, the terminal routes the traffic of the application on the first PDU session that matches the first route selection component.

Likewise, when establishing a third PDU session by the terminal based on a third route selection component is accepted, but the third PDU session does not match the third route selection component, the terminal determines the first route selection component and establishes the first PDU session based on the first route selection component. For a process of establishing the first PDU session and the third PDU session, refer to the above-mentioned process of establishing the first PDU session based on the first route selection component. Details are not described herein again.

That means: Regardless of whether the terminal determines or establishes a PDU session based on the second route selection component or the third route selection component, because the terminal finally cannot obtain a suitable PDU session based on the second route selection component or the third route selection component, the terminal may try one by one in the list of route selection components based on a priority order, until the terminal determines the first PDU session on which the traffic of the application can be routed.

That the network side sends the parameters of the established PDU session to the terminal may be implemented as follows.

The network side sends a second message to the terminal, and then the terminal receives the second message. The second message is used to indicate that the establishment of the third PDU session by the terminal is accepted. That means when the terminal receives the second message, it indicates that the third PDU session between the terminal and the network side has been established.

Likewise, the network side sends a first message to the terminal, and then the terminal receives the first message. The first message is used to indicate that establishing the first PDU session by the terminal is accepted. That means when the terminal receives the first message, it indicates that a PDU session between the terminal and the network side has been established.

The first PDU session is a PDU session that can be used, and the first PDU session is established based on the first route selection component sent by the terminal to the network side. Therefore, that the terminal routes the traffic of the application on the first PDU session that matches the first route selection component is to be implemented as: When the parameters of the PDU session included in the first message matches the first route selection component, the terminal routes the traffic of the application on the first PDU session that matches the first route selection component.

It should be noted that a reason why the third PDU session is a PDU session that cannot be used is as follow: that the value of a third route selection component included in a request to establish the third PDU session and sent by the terminal to the network side, is not exactly the same as parameters used in a process in which the network side establishes the third PDU session. That means the network side does not necessarily complete establishing the third PDU session based on a requirement sent by the terminal. Therefore, the parameters of the established third PDU session may not match the third route selection component.

For example, if continuity selection in the third route selection component is the SSC mode 1, and a continuity mode used for the third PDU session set the network is a continuity mode other than the SSC mode 1, for example, the SSC mode 2 or the SSC mode 3, the terminal further needs to determine the first route selection component.

In an implementation, to ensure that resources are fully utilized, when a PDU session parameter carried in the second message does not match the third route selection component, the terminal selectively releases the established third PDU session.

An embodiment of this application provides a data route selection method, including: detecting, by a terminal, information that is about an application and that matches a traffic descriptor; determining, by the terminal, a first route selection component for the application corresponding to the information of the application; and routing, by the terminal, traffic of the application on a PDU session that matches the first route selection component.

In an implementation, the information of the application includes an IP 3-tuple of the application or an identifier of the application.

In an implementation, the first route selection component is a route selection component with a highest priority in route selection components that match a condition.

The condition includes the following: S-NSSAI in the route selection component information belongs to allowed network slice selection assistance information (NSSAI); and/or when a DNN in the route selection component information is a DNN of an LADN, the terminal is within a service area of the LADN.

In an implementation, when there is no PDU session that matches the first route selection component, the terminal establishes the PDU session based on the first route selection component.

In an implementation, when establishing the PDU session by the terminal is rejected, the terminal determines a second route selection component, where the second route selection component is a route selection component with a highest priority in the route selection components that match the condition other than the first route selection component.

In an implementation, after the terminal establishes the PDU session based on the first route selection component, the terminal receives a first message, where the first message is used to indicate that establishing the PDU session by the terminal is accepted. Additionally, the terminal checks the established PDU session.

In an implementation, routing, by the terminal, traffic of the application on a PDU session that matches the first route selection component includes: when a PDU session parameter carried in the first message matches the first route selection component, the terminal routes the traffic of the application on the PDU session that matches the first route selection component.

In an implementation, when a PDU session parameter carried in the first message does not match the first route selection component, the terminal determines a second route selection component, where the second route selection component is a route selection component with a highest priority in the route selection components that match the condition other than the first route selection component.

In an implementation, when a PDU session parameter carried in the first message does not match the first route selection component, the terminal releases an established PDU session.

In an implementation, timing of determining the first route selection component by the terminal includes at least one of the following: the terminal enables the application; a registration area of the terminal changes; or the terminal enters or leaves a non-3GPP coverage area.

In an implementation, the PDU session that matches the first route selection component includes: when each parameter in the first route selection component corresponds to one value, a parameter of the PDU session is the same as the first route selection component; or when at least one parameter in the first route selection component corresponds to at least two values, a parameter of the PDU session belongs to the first route selection component.

In an embodiment of this application, a data route selection apparatus may be divided into function modules according to the foregoing method embodiments. For example, function modules may be obtained through division based on corresponding functions, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software functional module. It should be noted that, in this embodiment of this application, module division is an example, and is merely logical function division. In actual implementation, another division manner may be used.

FIG. 3 is an example schematic structural diagram of the data route selection apparatus in the foregoing embodiment. The data route selection apparatus 30 includes: a detection module 31, a determining module 32, a processing module 33, an establishment module 34, a receiving module 35, and a release module 36. The detection module 31 is configured to support the apparatus 30 in detecting whether information about an application in a terminal matches a traffic descriptor; or the like. The determining module 32 is configured to support the apparatus 30 in determining a first route selection component, a second route selection component, and a third route selection component, or the like. The processing module 33 is configured to support the apparatus 30 in routing traffic of the application on a corresponding PDU session, that is, a first PDU session corresponding to the first route selection component, and in performing another process of a technology described in this specification; or the like. The establishment module 34 is configured to support the apparatus 30 in establishing the first PDU session, a second PDU session, and a third PDU session; or the like. The receiving module 35 is configured to support the apparatus 30 in receiving a first message and a second message; or the like. The release module 36 is configured to support the apparatus 30 in releasing the established third PDU session. In this embodiment of this application, the apparatus 30 may further include a communications module 37 and a storage module 38. The communications module 37 is configured to support the apparatus 30 in performing data exchange with modules in the terminal, and/or support communication between the terminal and a device, for example, each device on a network side. The storage module 38 is configured to support the apparatus 30 in storing program code and data of the terminal.

The processing module 33 may be a processor or a controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another programmable logic device, a transistor logic device, a hardware component, or a combination thereof. The controller/processor may implement or execute various example logical blocks, modules, and circuits described with reference to content disclosed in this application. Alternatively, the processor may be a combination of processors implementing a computing function, for example, a combination of one or more microprocessors, or a combination of the DSP and a microprocessor. The receiving module 72 may be implemented as a transceiver, a transceiver circuit, a communications interface, or the like. The storage module 75 may be implemented as a memory.

If the detection module 31, the determining module 32, the processing module 33, the establishment module 34, and the release module 36 may be implemented as a processor, the receiving module 35 and the communications module 37 may be implemented as a transceiver, and the storage module 38 may be implemented as a memory, as shown in FIG. 4, a terminal 40 includes a processor 41, a transceiver 42, a memory 43, and a bus 44. The processor 41, the transceiver 42, and the memory 43 are connected to each other using the bus 44. The bus 44 may be a peripheral component interconnect (PCI) bus, an extended industry standard structure (EISA) bus, or the like. The bus may be classified into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used to represent the bus in FIG. 4, but this does not mean that there is only one bus or only one type of bus.

Method or algorithm steps described in combination with the content disclosed in this application may be implemented by hardware, or may be implemented by a processor by executing a software instruction. The software instruction may include a corresponding software module. The software module may be stored in a random access memory (RAM), a flash memory, a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically EPROM (EEPROM), a register, a hard disk, a removable hard disk, a compact disc ROM (CD-ROM), or any other form of storage medium well-known in the art. For example, a storage medium is coupled to a processor, such that the processor can read information from the storage medium or write information into the storage medium. Certainly, the storage medium may alternatively be a component of the processor. The processor and the storage medium may be deployed in a same device, or the processor and the storage medium may be deployed in different devices as discrete components.

An embodiment of this application provides a readable storage medium, including an instruction. When the instruction runs on a terminal, the terminal is enabled to perform the foregoing method.

An embodiment of this application provides a computer program product. The computer program product includes software code. The software code is used to perform the foregoing method.

A person skilled in the art should be aware that in the foregoing one or more examples, functions described in this application may be implemented by hardware, software, firmware, or any combination thereof. When implemented by software, the foregoing functions may be stored in a computer-readable medium or transmitted as one or more instructions or code in the computer-readable medium. The computer-readable medium includes a computer storage medium and a communications medium, and the communications medium includes any medium that enables a computer program to be transmitted from one place to another. The storage medium may be any available medium accessible to a general-purpose or dedicated computer.

The objectives, technical solutions, and benefits of this application are further described in detail in the foregoing implementations. It should be understood that the foregoing descriptions are merely example implementations of this application, but are not intended to limit the protection scope of this application. Any modification, equivalent replacement or improvement made based on the technical solutions of this application shall fall within the protection scope of this application. 

1. A data route selection method, comprising: matching information about an application with a user equipment (UE) route selection policy (URSP) rule when detecting the application; determining a first route selection component (RSC) for the application when the information about the application matches a traffic descriptor, wherein the traffic descriptor is contained in the URSP rule, and wherein the URSP rule comprises the first RSC; and routing traffic of the application via a first protocol data unit (PDU) session, wherein the first PDU session matches the first RSC, wherein the first RSC satisfies a first condition, and wherein the first condition comprises at least one single network slice selection assistance information (S-NSSAI) belonging to allowed network slice selection assistance information (NSSAI) when the first RSC comprises the at least one S-NSSAI.
 2. The data route selection method according to claim 1, wherein the first condition further comprises a UE being in a service area of a local access data network (LADN) when the first RSC comprises a data network name (DNN) of the LADN.
 3. The data route selection method according to claim 2, wherein determining the first RSC for the application comprises determining, by a terminal, the first RSC when a second condition is satisfied, and wherein the second condition comprises at least one of: a PDU session on which the traffic of the application is routed is released; the terminal enters or leaves the service area of the LADN; the terminal enters or leaves a non-3rd Generation Partnership Project (non-3GPP) coverage area; the terminal moves from an evolved packet core (EPC) network to a 5^(th) Generation core (5GC) network; or the terminal detects that the application is enabled.
 4. The data route selection method according to claim 1, further comprising establishing the first PDU session based on the first RSC when there is no existing PDU session that matches the first RSC in an established PDU session.
 5. The data route selection method according to claim 1, wherein the URSP rule further comprises at least one route selection descriptor.
 6. The data route selection method according to claim 1, wherein determining the first RSC for the application comprises determining the first RSC at least based on a priority of each RSC.
 7. The data route selection method according to claim 1, wherein determining the first RSC for the application comprises determining the first RSC from at least one valid RSC, wherein the at least one valid RSC satisfies the first condition, and wherein the at least one valid RSC is recorded in at least one route selection descriptor.
 8. The data route selection method according to claim 7, wherein determining the first RSC from the at least one valid RSC comprises determining the first RSC at least based on a priority of each valid RSC.
 9. The data route selection method according to claim 8, wherein the at least one valid RSC comprises a second RSC and the first RSC, and wherein a second priority of the second RSC is higher than a first priority of the first RSC, and wherein determining the first RSC for the application comprises: establishing a second PDU session based on the second RSC; and determining, by a terminal, the first RSC when an establishment request of the second PDU session by the terminal is rejected.
 10. The data route selection method according to claim 8, wherein the at least one valid RSC comprises a second RSC and the first RSC, and wherein a second priority of the second RSC is higher than a first priority of the first RSC.
 11. The data route selection method according to claim 1, wherein the first RSC comprises at least one parameter, and wherein the first PDU session matches the first RSC when: a first parameter in the first RSC contains only one value and a value of a first corresponding parameter of the first PDU session is identical to a value in the first RSC; or a second parameter in the first RSC contains at least two values and a value of a second corresponding parameter of the first PDU session is identical to one of the at least two values.
 12. The data route selection method according to claim 1, wherein the information about the application comprises an Internet Protocol (IP) 3-tuple of the application or an identifier (ID) of the application.
 13. The data route selection method according to claim 1, wherein determining the first RSC for the application comprises: determining the URSP rule for the application, wherein the URSP rule contains one or more route selection descriptors; and selecting a first route selection descriptor within the URSP rule, wherein the first route selection descriptor comprises the first RSC.
 14. The data route selection method according to claim 1, wherein the RSC includes at least one of: a session and service continuity (SSC) mode selection, a network slice selection, a data network name (DNN) selection, a non-seamless offload indication, an access type preference, or a PDU type.
 15. An apparatus, comprising: a memory storing instructions; and one or more processors coupled to the memory and configured to execute the instructions to cause the apparatus to: match information about an application with a user equipment (UE) route selection policy (URSP) rule when the application is detected; determine a first route selection component (RSC) for the application when the information about the application matches a traffic descriptor; and route traffic of the application on a first protocol data unit (PDU) session, wherein the first PDU session matches the first RSC, wherein the traffic descriptor is contained in the URSP rule, wherein the URSP rule comprises the first RSC, wherein the first RSC satisfies a first condition, and wherein the first condition comprises at least one single network slice selection assistance information (S-NSSAI) belonging to allowed network slice selection assistance information (NSSAI) when the first RSC comprises the at least one S-NSSAI.
 16. The apparatus according to claim 15, wherein the first condition further comprises a UE being in a service area of a local access data network (LADN) when the first RSC comprises a data network name (DNN) of the LADN.
 17. The apparatus according to claim 16, wherein the apparatus is a terminal configured to determine the RSC for the application when a second condition is satisfied, and wherein the second condition comprises at least one of: the terminal detects that the application is enabled; a PDU session on which the traffic of the application is routed is released; the terminal enters or leaves the service area of the LADN; the terminal enters or leaves a non-3rd Generation Partnership Project (non-3GPP) coverage area; or the terminal moves from an evolved packer core (EPC) network to a 5^(th) Generation core (5GC) network.
 18. The apparatus according to claim 15, wherein the apparatus is configured to determine the first RSC for the application at least based on a priority of each RSC.
 19. The apparatus according to claim 15, wherein the URSP rule further comprises at least one route selection descriptor.
 20. A computer program product comprising instructions that are stored on a computer-readable medium and that, when executed by a processor, cause an apparatus to: matching information about an application with a user equipment (UE) route selection policy (URSP) rule when detecting the application; determining a first route selection component (RSC) for the application when information about the application matches a traffic descriptor, wherein the traffic descriptor is contained in the URSP rule, and wherein the URSP rule comprises the first RSC; and routing traffic of the application on a first protocol data unit (PDU) session, wherein the first PDU session matches the first RSC, wherein the first RSC satisfies a first condition, and wherein the first condition comprises at least one single network slice selection assistance information (S-NSSAI) belonging to allowed network slice selection assistance information (NSSAI) when the first RSC comprises the at least one S-NSSAI. 